#ifndef __KEY_H
#define __KEY_H

#include "GD32F4xx.h"

/*
KEY_A	PC4
KEY_B	PB15
KEY_L	PA3
KEY_R	PA2
*/

#define KEY_VAL_A  	    0x01
#define KEY_VAL_B 	    0x02
#define KEY_VAL_L 	    0x04
#define KEY_VAL_R				0x08
#define KEY_VAL_UP	  	0x10
#define KEY_VAL_DOWN	 	0x20
#define KEY_VAL_LEFT	 	0x40
#define KEY_VAL_RIGHT   0x80
#define KEY_VAL_ENTER   0x03
#define KEY_VAL_EXIT    0x0c
#define KEY_VAL_NULL    0

// KEY A	PB15
#define RCU_KEYA 	RCU_GPIOB
#define KEYA_PORT GPIOB
#define KEYA_PIN 	GPIO_PIN_15
// KEY B	PC4
#define RCU_KEYB 	RCU_GPIOC
#define KEYB_PORT GPIOC
#define KEYB_PIN 	GPIO_PIN_4
// KEY L  PA3
#define RCU_KEYL 	RCU_GPIOA
#define KEYL_PORT GPIOA
#define KEYL_PIN 	GPIO_PIN_3
// KEY R PA2
#define RCU_KEYR 	RCU_GPIOA
#define KEYR_PORT GPIOA
#define KEYR_PIN 	GPIO_PIN_2


void Key_Config(void);
uint8_t Key_ABRL_Scan(void);
uint16_t Key_ADC_Sample_X(void);
uint16_t Key_ADC_Sample_Y(void);
uint8_t five_way_key_scan(void);
uint8_t Key_GetVal(void);

#endif
